package com.ruoyi.system.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.system.mapper.MdjfCasePersonMapper;
import lombok.Data;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 矛盾纠纷--案件主事件对象 mdjf_case_main
 * 
 * @author ruoyi
 * @date 2025-03-28
 */

@Data
public class MdjfCaseMain extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 案件ID */
    private Long caseMainId;

    /** 分流窗口（分流窗口账户id） */
//    @Excel(name = "分流窗口", readConverterExp = "分=流窗口账户id")
    private Long demandsSysUserId;

    @Excel(name = "分流窗口")
    private String demandsSysUserName;

    /** 诉求人-姓名 */
    @Excel(name = "诉求人-姓名")
    private String demandsName;

    /** 诉求人-手机号 */
    @Excel(name = "诉求人-手机号")
    private String demandsPhonenumber;

    /** 诉求人-身份证号 */
    @Excel(name = "诉求人-身份证号")
    private String demandsCardno;

    /** 诉求人-用户性别（0男 1女 2未知） */
    @Excel(name = "诉求人-用户性别", readConverterExp = "0=男,1=女,2=未知")
    private String demandsSex;



    /** 登记信息-家庭住址或单位 */
    @Excel(name = "登记信息-家庭住址或单位")
    private String demandsAvatar;

    /** 登记信息-简要事由 */
    @Excel(name = "登记信息-简要事由")
    private String checkinSummary;

    /** 登记信息-纠纷类型 */
//    @Excel(name = "登记信息-纠纷类型")
    private Long checkinDictJflxId;

    @Excel(name = "登记信息-纠纷类型")
    private String checkinDictJflxName;


    /** 登记信息-手机号 */
    @Excel(name = "登记信息-手机号")
    private String checkinPhonenumber;

    /** 登记信息-信访部门 */
//    @Excel(name = "登记信息-信访部门")
    private Long checkinDeptId;
    @Excel(name = "登记信息-信访部门")
    private String checkinDeptName;


    /** 登记信息-窗口经办人 */
//    @Excel(name = "登记信息-窗口经办人")
    private Long checkinExperiencedSysUserId;

    @Excel(name = "登记信息-窗口经办人")
    private String checkinExperiencedSysUserName;



    /** 登记备注信息  */
    @Excel(name = "登记信息-备注信息")
    private String checkinRemark;

//    @Excel(name = "登记信息-乡镇")
    private Long  checkinTownshipId;

    @Excel(name = "登记信息-乡镇")
    private String  checkinTownshipName;

    /** 案件状态  处理状态   */
    @Excel(name = "案件状态-处理状态", readConverterExp = "0=待受理,1=待处理,2=处理中,3=完结")
    private Integer disposeStatus;


    /** 办理结束时间  默认创建时间后30天。可根据配置定义 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "办理结束时间  默认创建时间后30天。可根据配置定义", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date disposeEndTime;

    /** 预警时间  默认创建时间超过25天开始预警。可根据配置定义  */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "预警时间  默认创建时间超过25天开始预警。可根据配置定义 ", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date disposeWarningTime;

    /** 0：正常状态 1：删除状态（回收站） */
    @Excel(name = "0：正常状态 1：删除状态", readConverterExp = "0=正常状态,1=回收站")
    private Integer status;

    /** 是否受理 0：受理 1：未受理 */
    @Excel(name = "是否受理" , readConverterExp = "0=受理,1=未受理")
    private Integer isAccept;


    /** 登记信息-不受理的原因 */
//    @Excel(name = "登记信息-不受理的原因")
    private Long disposeDictNotacceptId;

    @Excel(name = "登记信息-不受理的原因")
    private String disposeDictNotacceptName;


    /** 部门处理信息-上传附件（多个文件 ‘,’ 分隔） */
    @Excel(name = "部门处理信息-上传附件", readConverterExp = "多=个文件,‘=,’,分=隔")
    private String deptdisposeFile;

    /** 部门处理信息-部门经办人 */
//    @Excel(name = "部门处理信息-部门经办人")
    private Long deptdisposeExperiencedSysUserId;
    @Excel(name = "部门处理信息-部门经办人")
    private String deptdisposeExperiencedSysUserName;


    /** 回访 是否回访  0：是 1：否 */
    @Excel(name = "部门处理信息-是否回访",readConverterExp = "0=是,1=否")
    private Integer deptdisposeReturnIs;

    /** 部门处理信息-回访情况 */
    @Excel(name = "部门处理信息-回访情况")
    private String deptdisposeReturnInfo;

    /** 督办，是否以督办 0：是 1：否 */
    @Excel(name = "督办-是否以督办",readConverterExp = "0=已督办,1=未督办")
    private Integer supervisingIs;

    /** 督办人 */
//    @Excel(name = "督办-督办人")
    private Long supervisingSysUserId;

    @Excel(name = "督办-督办人")
    private String supervisingSysUserName;
    /** 督办文件 */
    private String supervisingFile;



    /** 督办-督办时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "督办人时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date supervisingTime;







    @Excel(name = "诉求人-用户性别")
    private String demandsSexNmae;









    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "受理时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date checkinAcceptTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "处理时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date deptdisposeTime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "回访时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date deptdisposeReturnTime;


    // 查询条件 开始时间
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startTime;
    // 查询条件 结束时间
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endTime;

    /** 部门ID */
    private Long deptId;
    /** 用户ID */
    private Long userId;

    // 案件相关人员信息
    private List<MdjfCasePerson> mdjfCasePersonList;
    // 案件 补充资料
    private List<MdjfCaseBczl> mdjfCaseBczlList;

    // 处理状态 多个状态查询数据
    private String disposeStatusLs;

    private Integer caseWarningParam;
}
